1. Field of the Invention
The present invention relates to data scrambling, and more particularly, to a scrambler and a scrambling method appropriate for a high density disc system.
2. Description of the Related Art
In general, the goal of data scrambling is to protect data from users who do not have key. For telecommunications, data scrambling is a widely used randomizing method for security communications purposes.
An optical disc system using an optical disc, such as a compact disc-read only memory (CD-ROM) or a digital versatile disc (DVD), adopts a random data generator which randomizes certain data input into a scrambler.
The first reason for scrambling input data in an optical disc system is to smoothly perform tracking control using differential phase detection (DPD). If identical data are input and the same modulated codes of the identical data are recorded in neighboring tracks on a disc, DPD signals are not detected during reproduction and tracking control in a servo unit becomes difficult. For example, in an unscrambled CD-audio disc, DPD control becomes difficult in a section between songs (a section in which data are all “00h”).
The second reason for scrambling is to help reduce a burden to control suppression of a direct current (DC) component in a modulator. When identical data are continuously input, digital sum value (DSV) control may be impossible for some values. In order to prevent such worst cases, randomizing is needed. Here, the DSV is a parameter for predicting the DC direction, and it is preferable that a modulated code word has a characteristic of converging into a DC value.
The third reason for scrambling is to protect certain data. In the case of a CD-ROM, in order to protect a synchronization pattern (00h, FFh, FFh, . . . , FFh, 00h) in data, scrambling is performed on all data except synchronization data.
Referring to FIG. 1, the periodicity of a scrambler for a general DVD system will now be explained. Since the length of a channel bit is 0.133 μm, the physical length of a sector is 5.146 mm (=0.133 μm×1488×26), the radius of the innermost circumference of a disc 5 is 24 mm (as shown in FIG. 1), the track length of the innermost circumference is 150.8 mm (=2πr) and the track capacity of the innermost circumference is 29.3 sectors (=150.8 mm/5.146 mm). In addition, since the radius of the outermost circumference is 58 mm as shown in FIG. 1, the track length of the outermost circumference is 364.42 mm (=2πr) and the track capacity of the outermost circumference is 70.82 sectors (364.42 mm/5.146 mm).
For DPD control, the cycle of random data generation of a scrambler must be equal to or greater than 141.64 sectors (=70.82 sector×2) in the outermost circumference. Identical data repeating within 29.3 sectors in the innermost circumference do not cause any problem in DPD control.
FIG. 2 illustrates a circuit diagram of a scrambler in a DVD system, in which an exclusive-or (XOR) gate 10 and 15 registers r0 through r14 for supplying random data are referred to as a random data generator. The random data generator and XOR gates 11 through 18 are referred to as a scrambler.
The 15 registers r0 through r14 in FIG. 2 perform left shifting in synchronization with a clock signal for scrambling, which is not shown in FIG. 2. During the scrambling, an XOR value obtained from XOR gate 10 by XORing the output of the most significant register r14 and the output of the 11th lowest register r10, becomes an input value to the least significant register r0.
The cycle of random data generation of the random data generator in FIG. 2 is 32K (kilobytes), and matches the 32K-size of 1 error correction code (ECC) block of a DVD. That is, random data without a periodicity are generated in one ECC block, and after left-shifting the 15 registers r0 through r14 8 times, the result D01 through D07 of XORing each of the 8 outputs of the lower registers r0 through r7 and 1-byte input data D0 through D7 in XOR gates 11 through 18 is obtained as the result of scrambling. Here, the data clock speed of XOR gates 11 through 18 is an eighth of the scramble clock speed of the registers r0 through r14, which is not shown in FIG. 2.
In the meantime, since scrambling is performed after left-shifting the 15 registers r0 through r14, 8 times, registers r0 through r14 are initialized by preset values, referring to the upper significant 4 bits (ID 7:4) in the last one byte in a 4-byte identification code (ID) allocated to each sector. At this time, selection of initial values needs to be handled carefully. That is, even if identical data are input, random data must be generated using the identical initial value in a sector, and random data in this sector are repeated by the identical initial value for one ECC block (16 sectors).
As shown in FIG. 3, the first initial value of registers r0 through r14 “0001h” and the result of left-shifting “0001h” 7 times are 0002h, 0004h, 0008h, 0010h, 0020h, 0040h, 0080h; the result of left-shifting 7 times “5500h”, the value of registers r0 through r14 after 16K (=2K×8) capacity required for the return of the values 0001h, 0002h, 0004h, 0008h, 0010h, 0020h, 0040h, 0080h, are 2A00h, 5400h, 2800h, 5000h, 2001h, 4002h, 0005h; and 0001h, 0002h, 0004h, 0008h, 0010h, 0020h, 0040h, 0080h, 5500h, 2A00h, 5400h, 2800h, 5000h, 2001h, 4002h, 0005h, which are used for initial values of r0 through r14.
The scrambler of FIG. 2 uses all of the 32K of random data generated by the random data generator, and sector data in one ECC block are repeated. However, the scrambler of FIG. 2 does not have the DPD control problem mentioned in FIG. 1. In addition, since random data are generated for one sector during modulation, there is no DSV control. Using the initial values of registers shown in FIG. 3, identical data are not generated contiguously ECC blocks during 256 sectors (=1 ECC block (16 sectors)×16 times initialization). Therefore, since identical code data do not occur in contiguous tracks in the outermost circumference of a disc, there is no problem in DPD control.
However, the previous random data generator and the scrambler using the random data generator cannot respond properly when generation of random data having a cycle greater than 32K and corresponding scrambling are required.